package com.explorati.LeetCode283.movezero;

/**
 * 将数组中的0移到数组末尾，其余元素位置不变 Input: [0,1,0,3,12] Output: [1,3,12,0,0]
 * 
 * @author explorati
 *
 */
public class MoveZeroes {

	// 暴力解法：多开辟一个数组空间，然后遍历nums中的各个元素，将非零元素赋予arr，然后在将arr中元素赋予nums
	public static void moveZeros(int[] nums) {
		int[] arr = new int[nums.length];
		int index = 0;

		for (int i = 0; i < nums.length; i++) {
			if (nums[i] != 0) {
				arr[index++] = nums[i];
			}
		}
		for (int i = 0; i < arr.length; i++) {
			nums[i] = arr[i];
		}
	}

	public static void main(String[] args) {
		int[] arr = { 0, 1, 3, 0, 5 };
		moveZeros(arr);
		
		for(int i : arr){
			System.out.print(i + "  ");
		}
	}
}
